package com.gyt.data.service;

import com.gyt.framework.domain.function.req.FunctionTypeReq;
import com.gyt.framework.domain.function.result.FunctionRelatedSceneResult;
import com.gyt.framework.domain.function.risk.FunctionLibraryInfo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;

/**
 * @Author created by v_yantgao
 * @Date 2020/9/27 16:19
 */
public interface FunctionService {

//    Integer batchDelFunctions(String functionIds, String userName);


    /**
     * 根据场景查询已关联的函数
     * @param keyWord
     * @param sceneId
     * @return
     */
    List<FunctionRelatedSceneResult> getRelatedFunsBySceneId(String keyWord, Integer sceneId);
    /**
     * 根据主键查询函数类型信息
     *  //简单测试定时任务和线程队列（延迟队列）
     * @param fid
     * @return
     */
    FunctionLibraryInfo getFunctionLibraryInfoById(Integer fid) throws Exception;

    List<FunctionLibraryInfo> getFunTypeInfoList();

    /**
     *  新增或修改函数类型信息
     * @param reqParam
     * @param userName
     */
    void updateFunctionTypeInfo(FunctionTypeReq reqParam, String userName);

    void downloadPdf(HttpServletRequest request, HttpServletResponse response);

    List<String> getExcelInfo();

    List<String> importByExcel(InputStream inputStream);

}
